Recommendation systems (sometimes known as recommender systems) are systems which filter information in an attempt to recommend information items (such as, for example, movies, TV programs, video on demand, music, books, news, images, web pages, scientific literature, etc.) that are likely to be of interest to a user. Typically, a recommendation system compares a user profile to some reference characteristics, and seeks to predict the ‘rating’ that the user would give to an item. These characteristics may be obtained from the information item (known as content based filtering) or the user's social environment (collaborative filtering).
Collaborative filtering finds items to recommend based on mining patterns among implicit or explicit ratings on the items, such as purchase events or star ratings. For example, a user could be recommended an item because his purchase history is similar to the purchase histories of some group of users, and among this group of users many have purchased that item. Content based filtering, on the other hand, finds items to recommend based on mining patterns among the item content descriptors such as genre classification attributes, author names, text descriptions, etc, and matching these to the content patterns of a user's purchased items.
Several researchers have proposed the incorporation of additional data (i.e. context information) to model user behaviour better and improve the recommendations. Examples of such proposals are provided in documents [1] to [4] identified hereinbelow.
As described in [1], there are various ways of incorporating context in Recommender Systems: contextual pre-filtering, contextual post-filtering and contextual modelling. Contextual pre-filtering filters the data available to the recommender system based on the context, creating micro profiles for each context. Contextual post-filtering first retrieves recommendations based on all data, then filters the recommendation results based on the context. For contextual modelling the context is incorporated in the recommendation model.
Document [1] also mentions the possibility of providing temporal contextual information. For example, a travel recommender system would provide a very different vacation recommendation for winter as compared to summer. Furthermore, several researchers (e.g. [1], [2]) have described various ways of using temporal aspects of ratings in order to improve the accuracy of the recommendations, for example by decreasing the influence of older ratings, although these methods are not concerned with creating contextualized recommendations.
The method proposed in [3] utilises temporal context to improve music recommendations, relying on manually defined time splits. The method described in [4] tries to discover contexts automatically but finds only contexts based on surface parameters such as time and date.